package net.hn.hnms.biz.plan.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

@Data
@ApiModel("剥离计划信息")
public class PlanPeelVO  extends BaseVO {


    /**
     * ID
     */
    @ApiModelProperty(value = "id")
    private String peelPlanId;


    /**
     * 计划编号
     */
    @ApiModelProperty(value = "计划编号")
    @NotBlank(message = "计划编号不能为空")
    @Length(max = 100,message = "计划编号长度不能超过100个字符")
    private String peelPlanCode;

    /**
     * 计划名称
     */
    @ApiModelProperty(value = "计划名称")
    @NotBlank(message = "计划名称不能为空")
    @Length(max = 100,message = "计划名称长度不能超过100个字符")
    private String peelPlanName;

    /**
     * 计划类型 0日计划 1月计划
     */
    @ApiModelProperty(value = "计划类型 0日计划 1月计划")
    @NotBlank(message = "请选择计划类型")
    private String peelPlanType;

    /**
     * 计划开始时间
     */
    @ApiModelProperty(value = "计划开始时间")
    private String peelPlanStartDate;

    /**
     * 计划结束时间
     */
    @ApiModelProperty(value = "计划结束时间")
    private String peelPlanEndDate;

    /**
     * 计划剥离量
     */
    @ApiModelProperty(value = "计划剥离量")
    @Digits(integer = 9, fraction=2, message = "计划剥离量格式不正确")
    @DecimalMin(value = "0.00", message = "计划剥离量格式不正确")
    private BigDecimal peelPlanAmount;


    @ApiModelProperty(value = "煤矿编号")
    private String mineCode;


    @ApiModelProperty(value = "总计划剥离量")
    private BigDecimal totalPeelPlanAmount;

    @ApiModelProperty(value = "煤矿名称")
    private String mineName;

    @ApiModelProperty(value = "总计划数")
    private String totalPlan;
}
